// Copyright Notice:
//			       characters.js v1.0.1
//			Copyright@2008 - OpenSiteMobile
//				All rights reserved
// ==========================================================================
//			http://www.opensitemobile.com
// ==========================================================================
// Contact Information:
//			Author: Dwight Vietzke
//			Email:  dwight_vietzke@yahoo.com

/*
	OpenSiteMobile on-screen keyboard characters file
	
	Important: Don't use ShrinkSafe compression on this file
*/

dojo.provide("msos.characters");


// Layout info:

msos.characters.available = new Array(
    ["Us", "English", 'en'],
    ["De", "Deutsch", 'de'],
    ["Fr", "Français",'fr'],
    ["Es", "Español", 'es'],
    ["Pt", "Português", 'pt'],
    ["It", "Italiano",'it'],
    ["Nl", "Nederlands", 'nl'],
    ["Fi", "Suomi", 'fi'],
    ["Sv", "Svenska", 'sv'],
    ["No", "Norsk", 'no'],
    ["Pl", "Polski", 'pl'],
    ["Ro", "Română", 'ro'],
    ["Ar", "العربية", 'ar'],
    ["Ru", "русский", 'ru'],
    ["Uk", "Українська", 'uk'],
    ["El", "Έλληνας", 'el'],
    ["He", "עברית",   'he'],
    ["Ca", "Canadian",'ca']
);

// --------------------------
// Character specification by Language
// --------------------------

var Us_normal = new Array(
["`","Grave"], "1","2","3","4","5","6","7","8","9","0",
"-","=","q","w","e","r","t","y","u","i","o","p","[","]","\\",
"a","s","d","f","g","h","j","k","l",";","'","",
"z","x","c","v","b","n","m",",",".","/"
);
var Us_caps = new Array(
["`","Grave"], "1","2","3","4","5","6","7","8","9","0",
"-","=","Q","W","E","R","T","Y","U","I","O","P","[","]","\\",
"A","S","D","F","G","H","J","K","L",";","'","",
"Z","X","C","V","B","N","M",",",".","/"
);
var Us_shift = new Array(
["~","Tilde"],"!","@","#","$","%",["^","Circumflex"],"&","*","(",")","_","+",
"Q","W","E","R","T","Y","U","I","O","P","{","}","|",
"A","S","D","F","G","H","J","K","L",":","\"","",
"Z","X","C","V","B","N","M","<",">","?"
);
var Us_alt_gr = new Array(
"","¡","²","³","¤","€","¼","½","¾","‘","’","¥","×",
"ä","å","é","®","þ","ü","ú","í","ó","ö","«","»",
"¬","á","ß","đ","","","","","","ø","¶",["´","Acute"],
"","æ","","©","","","ñ","µ","ç","","¿"
);
var Us_alt_gr_shift = new Array(
"","¹","","","£","","","","","","","","÷","Ä","Å","É","","Þ","Ü",
"Ú","Í","Ó","Ö","","","¦","Á","§","Đ","","","","","","Ø",
"°",["¨","Umlaut"], "","Æ","","¢","","","Ñ","","Ç","",""
);


var De_normal = new Array(
["^","Circumflex"], "1","2","3","4","5","6","7","8","9","0",
"ß",Array("´","Acute"), "q","w","e","r","t","z","u","i","o","p",
"ü","+","<","a","s","d","f","g","h","j","k","l","ö","ä","#",
"y","x","c","v","b","n","m",",",".","-"
);
var De_caps = new Array(
["^","Circumflex"], "1","2","3","4","5","6","7","8","9","0",
"ß",["´","Acute"], "Q","W","E","R","T","Z","U","I","O","P",
"Ü","+","<","A","S","D","F","G","H","J","K","L","Ö","Ä","#",
"Y","X","C","V","B","N","M",",",".","-"
);
var De_shift = new Array(
"º","!","\"","§","$","%","&","/","(",")","=","?",["`","Grave"],
"Q","W","E","R","T","Z","U","I","O","P","Ü","*",">",
"A","S","D","F","G","H","J","K","L","Ö","Ä","'",
"Y","X","C","V","B","N","M",";",":","_"
);
var De_alt_gr = new Array(
"","","²","³","","","","{","[","]","}","\\","","@","","€","","","","","",
"","","",["~","Tilde"], "|","","","","","","","","","","","","","","",
"","","","","µ","","",""
);


var Fr_normal = new Array(
"²","&","é","\"","'","(","|","è","_","ç","à",")","=",
"a","z","e","r","t","y","u","i","o","p",["^","Circumflex"],
"$","<","q","s","d","f","g","h","j","k","l","m","ù","*",
"w","x","c","v","b","n",",",";",":","!"
);
var Fr_caps = new Array(
"²","&","É","\"","'","(","|","È","_","Ç","À",")","=",
"A","Z","E","R","T","Y","U","I","O","P",["^","Circumflex"],
"$","<","Q","S","D","F","G","H","J","K","L","M","Ù","*",
"W","X","C","V","B","N",",",";",":","!"
);
var Fr_shift = new Array(
"","1","2","3","4","5","6","7","8","9","0","º","+",
"A","Z","E","R","T","Y","U","I","O","P",["¨","Umlaut"],"£",">",
"Q","S","D","F","G","H","J","K","L","M","%","µ",
"W","X","C","V","B","N","?","_","/","§"
);
var Fr_alt_gr = new Array(
"","","","#","{","[","|","","\\","^","@","]","}","","","","",
"","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","",""
);


var Es_normal = new Array(
"º","1","2","3","4","5","6","7","8","9","0","’","¡",
"q","w","e","r","t","y","u","i","o","p",Array("`","Grave"),"+","<",
"a","s","d","f","g","h","j","k","l","ñ",Array("´","Acute"),"ç",
"z","x","c","v","b","n","m",",",".","-"
);
var Es_caps = new Array(
"º","1","2","3","4","5","6","7","8","9","0","’","¡",
"Q","W","E","R","T","Y","U","I","O","P",Array("`","Grave"),"+","<",
"A","S","D","F","G","H","J","K","L","Ñ",Array("´","Acute"),"Ç",
"Z","X","C","V","B","N","M",",",".","-"
);
var Es_shift = new Array(
"ª","!","\"","'","$","%","&","/","(",")","=","?","¿",
"Q","W","E","R","T","Y","U","I","O","P",Array("^","Circumflex"),"*",">",
"A","S","D","F","G","H","J","K","L","Ñ",Array("¨","Umlaut"),"Ç",
"Z","X","C","V","B","N","M",";",":","_"
);
var Es_alt_gr = new Array(
"\\","|","@","#","","","¬","","","","","","",
"","","","","","","","","","","[","]","",
"","","","","","","","","","","{",
"}","","","","","","","","","",""
);


var It_normal = new Array(
"\\","1","2","3","4","5","6","7","8","9","0","’","ì",
"q","w","e","r","t","y","u","i","o","p","è","+","<",
"a","s","d","f","g","h","j","k","l","ò","à","ù",
"z","x","c","v","b","n","m",",",".","-"
);
var It_caps = new Array(
"\\","1","2","3","4","5","6","7","8","9","0","’","ì",
"Q","W","E","R","T","Y","U","I","O","P","È","+","<",
"A","S","D","F","G","H","J","K","L","Ò","À","Ù",
"Z","X","C","V","B","N","M",",",".","-"
);
var It_shift = new Array(
"|","!","\"","£","$","%","&","/","(",")","=","?","^",
"Q","W","E","R","T","Y","U","I","O","P","é","*","<",
"A","S","D","F","G","H","J","K","L","ç", "°", "§",
"Z","X","C","V","B","N","M",";",":","_"
);
var It_alt_gr = new Array(48);
    It_alt_gr[23] = "[";
    It_alt_gr[24] = "]";
    It_alt_gr[35] = "@";
    It_alt_gr[36] = "#";
var It_alt_gr_shift = new Array(48);
    It_alt_gr_shift[23] = "{";
    It_alt_gr_shift[24] = "}";


var Ru_normal = new Array(
"ё","1","2","3","4","5","6","7","8","9","0","-","=",
"й","ц","у","к","е","н","г","ш","щ","з","х","ъ","\\",
"ф","ы","в","а","п","р","о","л","д","ж","э","",
"я","ч","с","м","и","т","ь","б","ю","."
);
var Ru_caps = new Array(
"Ё","1","2","3","4","5","6","7","8","9","0","-","=",
"Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ъ","\\",
"Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","",
"Я","Ч","С","М","И","Т","Ь","Б","Ю","."
);
var Ru_shift = new Array(
"Ё","!","\"","№",";","%",":","?","*","(",")","_","+",
"Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ъ","/",
"Ф","Ы","В","А","П","Р","О","Л","Д","Ж","Э","",
"Я","Ч","С","М","И","Т","Ь","Б","Ю",","
);


var El_normal = new Array(
"½","1","2","3","4","5","6","7","8","9","0","-","=",
";","ς","ε","ρ","τ","υ","θ","ι","ο","π","[","]","§",
"α","σ","δ","φ","γ","η","ξ","κ","λ",Array("´","Acute"),"’","\\",
"ζ","χ","ψ","ω","β","ν","μ",",",".","/"
);
var El_caps = new Array(
"½","1","2","3","4","5","6","7","8","9","0","-","=",
";","ς","Ε","Ρ","Τ","Υ","Θ","Ι","Ο","Π","[","]","§",
"Α","Σ","Δ","Φ","Γ","Η","Ξ","Κ","Λ",Array("´","Acute"),"’","\\",
"Ζ","Χ","Ψ","Ω","Β","Ν","Μ",",",".","/"
);
var El_shift = new Array(
"±","!","@","#","$","%","^","&","*","(",")","_","+",
":","¦","Ε","Ρ","Τ","Υ","Θ","Ι","Ο","Π","{","}","©",
"Α","Σ","Δ","Φ","Γ","Η","Ξ","Κ","Λ",Array("¨","Umlaut"),"‘","|",
"Ζ","Χ","Ψ","Ω","Β","Ν","Μ","<",">","?"
);
var El_alt_gr = new Array(
"","","²","³","£","§","¶","","¤","¦","°","±","½",
"","","","","","","","","","","«","»","",
"","","","","","","","","",Array("΅","Dialytika_Tonos"),"",
"¬","","","","","","","","","",""
);


var He_normal = new Array(
";","1","2","3","4","5","6","7","8","9","0","-","=",
"/","'","ק","ר","א","ט","ו","ן","ם","פ","]","[","\\",
"ש","ד","ג","כ","ע","י","ח","ל","ך","ף",",","\\",
"ז","ס","ב","ה","נ","מ","צ","ת","ץ","."
);
var He_shift = new Array(
"~","!","@","#","$","%","^","&","*",")","(","_","+",
"/","'","ק","ר","א","ט","ו","ן","ם","פ","}","{","|",
"ש","ד","ג","כ","ע","י","ח","ל","ך",":","\"","|",
"ז","ס","ב","ה","נ","מ","צ","<",">","?"
);
var He_alt_gr = new Array(48);
    He_alt_gr[4]  = "₪";
    He_alt_gr[11] = "־";
    He_alt_gr[19] = "װ";
    He_alt_gr[31] = "ײ";
    He_alt_gr[32] = "ױ";


var Ca_normal = new Array(
"/","1","2","3","4","5","6","7","8","9","0","-","=",
"q","w","e","r","t","y","u","i","o","p",Array("^","Circumflex"),"ç","ù",
"a","s","d","f","g","h","j","k","l",";","è","à",
"z","x","c","v","b","n","m",",",".","é"
);
var Ca_caps = new Array(
"/","1","2","3","4","5","6","7","8","9","0","-","=",
"Q","W","E","R","T","Y","U","I","O","P",Array("^","Circumflex"),"Ç","Ù",
"A","S","D","F","G","H","J","K","L",";","È","À",
"Z","X","C","V","B","N","M",",",".","É"
);
var Ca_shift = new Array(
"\\","!","@","#","$","%","?","&","*","(",")","_","+",
"Q","W","E","R","T","Y","U","I","O","P",Array("¨","Umlaut"),"Ç","Ù",
"A","S","D","F","G","H","J","K","L",":","È","À",
"Z","X","C","V","B","N","M","'","\"","É"
);
var Ca_alt_gr = new Array(
"|","","","","","","","{","}","[","]","","¬",
"","","","","","","","","","",Array("`","Grave"),Array("~","Tilde"),"",
"","","","","","","","","","°","",
"","«","»","","","","","","<",">",""
);


var Ar_normal = new Array(
"ذ","١","٢","٣","٤","٥","٦","٧","٨","٩","٠","-","=",
"ض","ص","ث","ق","ف","غ","ع","ه","خ","ح","ج","د","\\",
"ش","س","ي","ب","ل","ا","ت","ن","م","ك","ط","",
"ئ","ء","ؤ","ر","ﻻ","ى","ة","و","ز","ظ"
);
var Ar_shift = new Array(
"ّ","!","@","#","$","٪","^","&","٭","(",")","_","+",
"ض","ص","ث","ق","ف","غ","ع","÷","×","؛",">","<","|",
"ش","س","ي","ب","ل","أ","ـ","،","/",":","\"","",
"ئ","ء","ؤ","ر","ﻵ","آ","ة",",",".","؟"
);


var Nl_normal = new Array(
"@","1","2","3","4","5","6","7","8","9","0","/","°",
"q","w","e","r","t","y","u","i","o","p",["¨","Umlaut"],"*","]",
"a","s","d","f","g","h","j","k","l","+",["´","Acute"],"<",
"z","x","c","v","b","n","m",",",".","-"
);
var Nl_caps = new Array(
"@","1","2","3","4","5","6","7","8","9","0","/","°",
"Q","W","E","R","T","Y","U","I","O","P",["¨","Umlaut"],"*","]",
"A","S","D","F","G","H","J","K","L","+",["´","Acute"],"<",
"Z","X","C","V","B","N","M",",",".","-"
);
var Nl_shift = new Array(
"§","!","\"","#","$","%","&","_","(",")","'","?",["~","Tilde"],
"Q","W","E","R","T","Y","U","I","O","P",["^","Circumflex"],"|","[",
"A","S","D","F","G","H","J","K","L","±",["`","Grave"],">",
"Z","X","C","V","B","N","M",";",":","="
);
var Nl_alt_gr = new Array(
"¬","¹","²","³","¼","½","¾","£","{","}","","\\",["¸","Cedilla"],
"","","€","¶","","","","","","","","","¦",
"","ß","","","","","","","","","","",
"«","»","¢","","","","µ","","·",""
);


var Fi_normal = new Array(
"§","1","2","3","4","5","6","7","8","9","0","+",["´","Acute"],
"q","w","e","r","t","y","u","i","o","p","å",["¨","Umlaut"],"<",
"a","s","d","f","g","h","j","k","l","ö","ä",
"'","z","x","c","v","b","n","m",",",".","-"
);
var Fi_caps = new Array(
"§","1","2","3","4","5","6","7","8","9","0","+",["´","Acute"],
"Q","W","E","R","T","Y","U","I","O","P","Å",["¨","Umlaut"],"<",
"A","S","D","F","G","H","J","K","L","Ö","Ä",
"'","Z","X","C","V","B","N","M",",",".","-"
);
var Fi_shift = new Array(
"½","!","\"","#","¤","%","&","/","(",")","=","?",["`","Grave"],
"Q","W","E","R","T","Y","U","I","O","P","Å",["^","Circumflex"],">",
"A","S","D","F","G","H","J","K","L","Ö","Ä",
"*","Z","X","C","V","B","N","M",";",":","_"
);
var Fi_alt_gr = new Array(
"","","@","£","$","","","{","[","]","}","\\","",
"","","€","","","","","","","","",["~","Tilde"],"|",
"","","","","","","","","","","",
"","","","","","","","","","",""
);


var No_normal = new Array(
"|","1","2","3","4","5","6","7","8","9","0","+","\\",
"q","w","e","r","t","y","u","i","o","p","å",["¨","Umlaut"],"<",
"a","s","d","f","g","h","j","k","l","ø","æ","'",
"z","x","c","v","b","n","m",",",".","-"
);
var No_caps = new Array(
"|","1","2","3","4","5","6","7","8","9","0","+","\\",
"Q","W","E","R","T","Y","U","I","O","P","Å",["¨","Umlaut"],"<",
"A","S","D","F","G","H","J","K","L","Ø","Æ","'",
"Z","X","C","V","B","N","M",",",".","-"
);
var No_shift = new Array(
"§","!","\"","#","¤","%","&","/","(",")","=","?",["`","Grave"],
"Q","W","E","R","T","Y","U","I","O","P","Å",["^","Circumflex"],">",
"A","S","D","F","G","H","J","K","L","Ø","Æ","*",
"Z","X","C","V","B","N","M",";",":","_"
);
var No_alt_gr = new Array(
"","","@","£","$","","","{","[","]","}","",["´","Acute"],
"","","€","","","","","","","","",["~","Tilde"],"",
"","","","","","","","","","","",
"","","","","","","","","","",""
);


var Pl_normal = new Array(
["˛","Ogonek"],"1","2","3","4","5","6","7","8","9","0","+","'",
"q","w","e","r","t","z","u","i","o","p","ż","ś","<",
"a","s","d","f","g","h","j","k","l","ł","ą","ó",
"y","x","c","v","b","n","m",",",".","-"
);
var Pl_caps = new Array(
["˛","Ogonek"],"1","2","3","4","5","6","7","8","9","0","+","'",
"Q","W","E","R","T","Z","U","I","O","P","Ż","Ś","<",
"A","S","D","F","G","H","J","K","L","Ł","Ą","Ó",
"Y","X","C","V","B","N","M",",",".","-"
);
var Pl_shift = new Array(
["˙","DotAbove"],"!","\"","#","¤","%","&","/","(",")","=","?","*",
"Q","W","E","R","T","Z","U","I","O","P","ń","ć",">",
"A","S","D","F","G","H","J","K","L","Ł","ę","ź",
"Y","X","C","V","B","N","M",";",":","_"
);
var Pl_alt_gr = new Array(
"",["~","Tilde"],["ˇ","Caron"],["^","Circumflex"],["˘","Breve"],["°","Ring"],["˛","Ogonek"],["`","Grave"],["˙","DotAbove"],["´","Acute"],["˝","DoubleAcute"],["¨","Umlaut"],["¸","Cedilla"],
"\\","|","","","","","€","","","","÷","×","",
"","đ","Ð","[","]","","","","","$","ß",
"","","","","@","{","}","§","","",""
);


var Pt_normal = new Array(
"\\","1","2","3","4","5","6","7","8","9","0","'","«",
"q","w","e","r","t","y","u","i","o","p","+",["´","Acute"],"<",
"a","s","d","f","g","h","j","k","l","ç","º",["~","Tilde"],
"z","x","c","v","b","n","m",",",".","-"
);
var Pt_caps = new Array(
"\\","1","2","3","4","5","6","7","8","9","0","'","«",
"Q","W","E","R","T","Y","U","I","O","P","+",["´","Acute"],"<",
"A","S","D","F","G","H","J","K","L","Ç","º",["~","Tilde"],
"Z","X","C","V","B","N","M",",",".","-"
);
var Pt_shift = new Array(
"|","!","\"","#","$","%","&","/","(",")","=","?","»",
"Q","W","E","R","T","Y","U","I","O","P","*",["`","Grave"],">",
"A","S","D","F","G","H","J","K","L","Ç","ª",["^","Circumflex"],
"Z","X","C","V","B","N","M",";",":","_"
);
var Pt_alt_gr = new Array(
"","","@","£","§","","","{","[","]","}","","",
"","","€","","","","","","","",["¨","Umlaut"],"","",
"","","","","","","","","","","","",
"","","","","","","","","",""
);


var Ro_normal = new Array(
"â","1","2","3","4","5","6","7","8","9","0","+","'",
"q","w","e","r","t","y","u","i","o","p","ă","î","×",
"a","s","d","f","g","h","j","k","l","ş","ţ","\\",
"z","x","c","v","b","n","m",",",".","-"
);
var Ro_caps = new Array(
"Â","1","2","3","4","5","6","7","8","9","0","+","'",
"Q","W","E","R","T","Y","U","I","O","P","Ă","Î","×",
"A","S","D","F","G","H","J","K","L","Ş","Ţ","\\",
"Z","X","C","V","B","N","M",",",".","-"
);
var Ro_shift = new Array(
"Â","!","\"","#","$","%","&","/","(",")","=","?","*",
"Q","W","E","R","T","Y","U","I","O","P","Ă","Î","÷",
"A","S","D","F","G","H","J","K","L","Ş","Ţ","|",
"Z","X","C","V","B","N","M",";",":","_"
);
var Ro_alt_gr = new Array(
"­",["~","Tilde"],["ˇ","Caron"],["^","Circumflex"],["˘","Breve"],["°","Ring"],["˛","Ogonek"],["`","Grave"],["˙","DotAbove"],["´","Acute"],["˝","DoubleAcute"],["¨","Umlaut"],["¸","Cedilla"],
"","","€","","","","","","","","{","}","§",
"","","","","","","","","","[","]",
"ß","","","","","","","","<",">","@"
);


var Sv_normal = new Array(
"","1","2","3","4","5","6","7","8","9","0","+","é",
"q","w","e","r","t","y","u","i","o","p","å","ü",
"<","a","s","d","f","g","h","j","k","l","ö",
"ä","'","z","x","c","v","b","n","m",",",".","-"
);
var Sv_caps = new Array(
"","1","2","3","4","5","6","7","8","9","0","+","É",
"Q","W","E","R","T","Y","U","I","O","P","Å","Ü",
"<","A","S","D","F","G","H","J","K","L","Ö",
"Ä","'","Z","X","C","V","B","N","M",",",".","-"
);
var Sv_shift = new Array(
"","!","\"","#","¤","%","&","/","(",")","=","?","É",
"Q","W","E","R","T","Y","U","I","O","P","Å",["^","Circumflex"],
">","A","S","D","F","G","H","J","K","L","Ö",
"Ä","*","Z","X","C","V","B","N","M",";",":","_"
);


var Uk_normal = new Array(
"`","№","-","/","\"",":",",",".","_","?","%","!",";",
"й","ц","у","к","е","н","г","ш","щ","з","х","ґ",")",
"ф","и","в","а","п","р","о","л","д","ж","є","",
"я","ч","с","м","і","т","ь","б","ю","ї"
);
var Uk_caps = new Array(
"`","№","-","/","\"",":",",",".","_","?","%","!",";",
"Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ґ",")",
"Ф","И","В","А","П","Р","О","Л","Д","Ж","Є","",
"Я","Ч","С","М","І","Т","Ь","Б","Ю","Ї"
);
var Uk_shift = new Array(
"+","1","2","3","4","5","6","7","8","9","0","=","\\",
"Й","Ц","У","К","Е","Н","Г","Ш","Щ","З","Х","Ґ","(",
"Ф","И","В","А","П","Р","О","Л","Д","Ж","Є","",
"Я","Ч","С","М","І","Т","Ь","Б","Ю","Ї"
);


// Lets bundle them up...

msos.characters.groups = {
    uk_normal : Uk_normal,
    uk_caps : Uk_caps,
    uk_shift : Uk_shift,
    sv_normal : Sv_normal,
    sv_caps : Sv_caps,
    sv_shift : Sv_shift,
    ro_normal : Ro_normal,
    ro_caps : Ro_caps,
    ro_shift : Ro_shift,
    ro_alt_gr : Ro_alt_gr,
    ar_normal : Ar_normal,
    ar_shift : Ar_shift,
    nl_normal : Nl_normal,
    nl_caps : Nl_caps,
    nl_shift : Nl_shift,
    nl_alt_gr : Nl_alt_gr,
    fi_normal : Fi_normal,
    fi_caps : Fi_caps,
    fi_shift : Fi_shift,
    fi_alt_gr : Fi_alt_gr,
    no_normal : No_normal,
    no_caps : No_caps,
    no_shift : No_shift,
    no_alt_gr : No_alt_gr,
    pl_normal : Pl_normal,
    pl_caps : Pl_caps,
    pl_shift : Pl_shift,
    pl_alt_gr : Pl_alt_gr,
    pt_normal : Pt_normal,
    pt_caps : Pt_caps,
    pt_shift : Pt_shift,
    pt_alt_gr : Pt_alt_gr,
    us_normal : Us_normal,
    us_caps : Us_caps,
    us_shift : Us_shift,
    us_alt_gr : Us_alt_gr,
    us_alt_gr_shift : Us_alt_gr_shift,
    de_normal : De_normal,
    de_caps : De_caps,
    de_shift : De_shift,
    de_alt_gr : De_alt_gr,
    fr_normal : Fr_normal,
    fr_caps : Fr_caps,
    fr_shift : Fr_shift,
    fr_alt_gr : Fr_alt_gr,
    es_normal : Es_normal,
    es_caps : Es_caps,
    es_shift : Es_shift,
    es_alt_gr : Es_alt_gr,
    it_normal : It_normal,
    it_caps : It_caps,
    it_shift : It_shift,
    it_alt_gr : It_alt_gr,
    it_alt_gr_shift : It_alt_gr_shift,
    ru_normal : Ru_normal,
    ru_caps : Ru_caps,
    ru_shift : Ru_shift,
    el_normal : El_normal,
    el_caps : El_caps,
    el_shift : El_shift,
    el_alt_gr : El_alt_gr,
    he_normal : He_normal,
    he_shift : He_shift,
    he_alt_gr : He_alt_gr,
    ca_normal : Ca_normal,
    ca_caps : Ca_caps,
    ca_shift : Ca_shift,
    ca_alt_gr : Ca_alt_gr
};


// Diacritic arrays

var Acute = new Array(
    ["a","á"], ["e","é"], ["i","í"], ["o","ó"],
    ["u","ú"], ["y","ý"], ["A","Á"], ["E","É"],
    ["I","Í"], ["O","Ó"], ["U","Ú"], ["Y","Ý"],
    ["c","ć"], ["C","Ć"], ["l","ĺ"], ["L","Ĺ"],
    ["m","ḿ"], ["M","Ḿ"], ["n","ń"], ["N","Ń"],
    ["r","ŕ"], ["R","Ŕ"], ["s","ś"], ["S","Ś"],
    ["z","ź"], ["Z","Ź"], ["Α","Ά"], ["Ε","Έ"],
    ["Η","Ή"], ["Ι","Ί"], ["Ο","Ό"], ["Υ","Ύ"],
    ["Ω","Ώ"], ["α","ά"], ["ε","έ"], ["η","ή"],
    ["ι","ί"], ["ο","ό"], ["υ","ύ"], ["ω","ώ"],
    ["W","Ẃ"], ["w","ẃ"]
);

var Breve = new Array(
    ["a","ă"], ["e","ĕ"], ["i","ĭ"], ["o","ŏ"],
    ["u","ŭ"], ["A","Ă"], ["E","Ĕ"], ["I","Ĭ"],
    ["O","Ŏ"], ["U","Ŭ"], ["y","y̆"], ["Y","Y̆"],
    ["g","ğ"], ["G","Ğ"]
);

var Caron = new Array(
    ["c","č"],["C","Č"],["d","ď"],["D","Ď"],
    ["e","ě"],["E","Ě"],["n","ň"],["N","Ň"],
    ["r","ř"],["R","Ř"],["s","š"],["S","Š"],
    ["t","ť"],["T","Ť"],["z","ž"],["Z","Ž"],
    ["l","ľ"],["L","Ľ"]
);

var Cedilla = new Array(
    ["c","ç"],["C","Ç"],["g","ģ"],["G","Ģ"],
    ["k","ķ"],["K","Ķ"],["l","ļ"],["L","Ļ"],
    ["n","ņ"],["N","Ņ"],["r","ŗ"],["R","Ŗ"],
    ["s","ş"],["S","Ş"],["t","ţ"],["T","Ţ"]
);

var Circumflex = new Array(
    ["a","â"],["A","Â"],["e","ê"],["E","Ê"],
    ["i","î"],["I","Î"],["o","ô"],["O","Ô"],
    ["c","ĉ"],["C","Ĉ"],["g","ĝ"],["G","Ĝ"],
    ["h","ĥ"],["H","Ĥ"],["j","ĵ"],["J","Ĵ"],
    ["s","ŝ"],["S","Ŝ"],["u","û"],["U","Û"],
    ["w","ŵ"],["W","Ŵ"],["y","ŷ"],["Y","Ŷ"]
);

var Dialytika_Tonos = new Array(Array("ι", "ΐ"), Array("φ", "ΰ"));

var DoubleAcute = new Array(["o","ő"],["O","Ő"],["u","ű"],["U","Ű"]);

var DotAbove = new Array(
    ["c","ċ"], ["C","Ċ"], ["g","ġ"], ["G","Ġ"],
    ["z","ż"], ["Z","Ż"], ["e","ė"], ["E","Ė"],
    ["n","ṅ"], ["N","Ṅ"], ["m","ṁ"], ["M","Ṁ"],
    ["b","ḃ"], ["B","Ḃ"]
);

var Grave = new Array(
    ["a","à"],["e","è"],["i","ì"],["o","ò"],["u","ù"],
    ["A","À"],["E","È"],["I","Ì"],["O","Ò"],["U","Ù"]
);

var Grave = new Array(
    ["a","à"],["e","è"],["i","ì"],["o","ò"],["u","ù"],
    ["A","À"],["E","È"],["I","Ì"],["O","Ò"],["U","Ù"],
    ["W","Ẁ"],["w","ẁ"],["Y","Ỳ"],["y","ỳ"],["m","m̀"],
    ["M","M̀"],["n","ǹ"],["N","Ǹ"]
);

var Ogonek = new Array(
    ["i","į"], ["o","ǫ"], ["u","ų"],
    ["I","Į"], ["O","Ǫ"], ["U","Ų"]
);

var Ring =      new Array(["a","å"],["A","Å"],["u","ů"],["U","Ů"]);

var Tilde = new Array(
    ["a","ã"],["o","õ"],["n","ñ"],["A","Ã"],
    ["O","Õ"],["i","ĩ"],["I","Ĩ"],["u","ũ"],
    ["U","Ũ"],["N","Ñ"],["e","ẽ"],["E","Ẽ"],
    ["y","ỹ"],["Y","Ỹ"],["g","g̃"],["G","G̃"]
);

var Umlaut = new Array(
    ["a","ä"],["e","ë"],["i","ï"],["o","ö"],
    ["u","ü"],["y","ÿ"],["A","Ä"],["E","Ë"],
    ["I","Ï"],["O","Ö"],["U","Ü"],["Y","Ÿ"],
    ["Ι","Ϊ"],["Υ","Ϋ"],["ι","ϊ"],["υ","ϋ"]
);

// Bundle diacritic arrays

msos.characters.diacritic = {
    acute : Acute,
    breve : Breve,
    caron : Caron,
    cedilla : Cedilla,
    circumflex : Circumflex,
    dotabove : DotAbove,
    doubleacute : DoubleAcute,
    grave : Grave,
    ogonek : Ogonek,
    ring : Ring,
    tilde : Tilde,
    umlaut : Umlaut,
    dialytika_tonos : Dialytika_Tonos
};